#pragma once
#ifdef WIN32
#include <GL/glut.h>
#endif
#ifdef __APPLE__
#include <GLUT/glut.h>
#define MAC_TIGER
#endif
#include "FCollada.h"
#include "FCDocument/FCDocument.h"
#include "FCDocument/FCDAsset.h"
#include "FCDocument/FCDLibrary.h"
#include "FCDocument/FCDImage.h"
#include "FCDocument/FCDGeometrySource.h"
#include "FUtils/FUFileManager.h"
#include "PNGTexture.h"
#include "TextureProxySingleton.h"

namespace lib3dw
{
	class ColladaTextureData
	{
		// Allow a model to access certain ColladaTextureData members
		friend class ColladaModel;
		
		public:
			ColladaTextureData(FCDocument* colladaDocument);
			~ColladaTextureData();
			void SetTextureCount(unsigned int texCount);
			const unsigned short GetTextureCount() const;
			const GLuint* GetTexture(unsigned short index) const;

		protected:
			unsigned int textureCount;
			std::vector<GLuint> textures; 
			std::vector<GLuint>::const_iterator texturesPassIterator;

		private:
			void ProcessImageLibrary(FCDImageLibrary* library);
	};
}